1. Field of the Invention
The present invention relates to a data transfer apparatus that includes a plurality of channel adapters each of which issues a read request to read data and a cache controller that returns data in response to a read request, and a data transfer method, and in particular, relates to a data transfer apparatus and a data transfer method with which the equalization of the throughputs of a plurality of channel adapters can be achieved.
2. Description of the Related Art
Recently, as the throughputs of computers have increased, the volume of data used by the computers is growing. Thus, many studies about storages that store a large volume of data have been made. For example, a technique called a Redundant Array of Independent Disks (RAID) for constructing a disk system in which high-speed processing, high capacity, and high reliability are achieved by combining a plurality of hard disk drives has been established.
In a disk system such as a RAID, a disk array apparatus that includes a plurality of disks that store data receives commands from, for example, a host computer that is a host apparatus, and writes and reads data. In this case, in general, data exchanged between the host computer and the disks is cached in a cache memory in the disk array apparatus, and in the subsequent process, the data is read from the cache memory to achieve high-speed processing.
Moreover, an arrangement may be adopted. In the arrangement, in order to efficiently perform data transfer between a host computer and a disk array apparatus, a plurality of channels are provided between the host computer and the disk array apparatus, and a plurality of channel adapters in the disk array apparatus are connected to the host computer. In this case, a plurality of data transfer paths each of which includes a channel adapter are provided between the host computer and a cache memory in the disk array apparatus (for example, see Japanese Patent No. 2567922).
FIG. 1 is a block diagram showing a part of a disk array apparatus in which a plurality of data transfer paths are provided. The disk array apparatus includes a plurality of channel adapters 1-1 to 1-4 each of which exchanges commands and data with a host computer, a switch 2 that converts commands and data that are input from the channel adapters 1-1 to 1-4 into a single output stream, a cache memory 3 that temporarily stores data, and a cache controller 4 that controls data read and write operations in the cache memory 3.
For example, when the host computer sends a command to request reading of data to such a disk array apparatus, the command is received by one of the channel adapters 1-1 to 1-4, and a read request to read the data is sent to the cache controller 4 via the switch 2. Then, the cache controller 4 reads the data from the cache memory 3, and the read data is returned to the one of the channel adapters 1-1 to 1-4, which has sent the read request, via the switch 2 and is finally supplied to the host computer.
Moreover, for example, when the host computer sends a command to request writing of data and the data to be written to the disk array apparatus, the command and data are received by one of the channel adapters 1-1 to 1-4, and a write request to write the data is sent to the cache controller 4 via the switch 2. Then, the cache controller 4 writes the data included in the write request into the cache memory 3, and simultaneously, the data is written to a disk such as a hard disk (not shown).